package org.yournamehere.client;
import com.google.gwt.core.client.EntryPoint;
import com.google.gwt.core.client.GWT;
import com.google.gwt.user.client.ui.Button;
import com.google.gwt.user.client.ui.Label;
import com.google.gwt.user.client.ui.RootPanel;
import com.google.gwt.event.dom.client.ClickEvent;
import com.google.gwt.event.dom.client.ClickHandler;
import com.google.gwt.user.client.Window;
import com.google.gwt.user.client.rpc.AsyncCallback;
import com.google.gwt.user.client.ui.HorizontalPanel;
import com.google.gwt.user.client.ui.TextBox;
import com.google.gwt.user.client.ui.VerticalPanel;
/**
* Main entry point.
*/
public class MainEntryPoint implements EntryPoint {
/**
* The entry point method, called automatically by loading a module
* that declares an implementing class as an entry-point
*/
public void onModuleLoad() {
final TextBox text = new TextBox();
final VerticalPanel messages = new VerticalPanel();
final Button button = new Button("Add Message");
final GWTServiceAsync s = GWT.create(GWTService.class);
button.addClickHandler(new ClickHandler() {
public void onClick(ClickEvent event) {
messages.add(new Label(text.getText()));
s.addMessage(text.getText(), new AsyncCallback<Void>() {
public void onFailure(Throwable caught) {
Window.alert("GWT service call error");
}
public void onSuccess(Void result) {
}
});
}
});
HorizontalPanel hp = new HorizontalPanel();
hp.add(new Label("Message:"));
hp.add(text);
hp.add(button);
RootPanel.get().add(hp);
RootPanel.get().add(messages);
s.getMessages(new AsyncCallback<String[]>() {
public void onFailure(Throwable caught) {
Window.alert("GWT service call error");
}
public void onSuccess(String[] result) {
messages.clear();
for (String s: result)
messages.add(new Label(s));
}
});
}
}